package com.huitone.gddw.service.monitoring.base;

import com.huitone.gddw.dao.entity.Trigger;
import com.huitone.gddw.model.support.QueryPage;
import com.huitone.gddw.service.dto.monitoring.base.TriggerDTO;

/**
 * 监控预警触发 接口
 * @author wuluodan
 *
 */
public interface ITriggerService {

	/**
	 * 分页查询
	 * @param page QueryPage
	 * @return QueryPage
	 */
	QueryPage<TriggerDTO> selectPage(QueryPage<Trigger> page);
	
	/**
	 * 根据ID获取唯一记录
	 * @param triggerId 触发器ID
	 * @return Trigger
	 */
	Trigger getById(String triggerId);
	
	/**
	 * 根据ID获取唯一记录
	 * @param triggerId 触发器ID
	 * @return TriggerDTO
	 */
	TriggerDTO findOne(String triggerId);
	
	/**
	 * 保存
	 * @param entity Trigger
	 */
	void save(Trigger entity);
	
	/**
	 * 更新
	 * @param entity Trigger
	 */
	void update(Trigger entity);
	
	/**
	 * 删除
	 * @param triggerId 触发器ID
	 */
	void delete(String triggerId);
	
	/**
	 * 删除对象的所有监控预警信息
	 * @param objId 对象ID
	 */
	void delByObjId(String objId);

	/**
	 * 删除子项的所有监控预警信息
	 * @param itemId 子项ID
	 */
	void delByItemId(String itemId);

	/**
	 * 删除属性的所有监控预警信息
	 * @param keyId 键ID
	 */
	void delByKeyId(String keyId);
	
}
